約 4,400,116 件
https://w.atwiki.jp/hmiku/pages/50997.html
【検索用 いせえひ.wav 登録タグ 2022年 Shu VOCALOID い 初音ミク 巡音ルカ 曲 曲あ 藤墅。 鏡音リン 15番】 + 目次 目次 曲紹介 歌詞 コメント 作詞:Shu 作曲:Shu 編曲:Shu イラスト:15番(Twitter) 動画:藤墅。(Twitter) 唄:初音ミク, 巡音ルカ, 鏡音リン 曲紹介 明けましておめでとうございます!新年をお祝いして、Shu家のミクルカリン大集合で久々に明るいエレクトロポップを作りました!Kawaii × Hybrid Trap × Chiptune を目指しました 曲名:『伊勢海老.wav』(いせえび.wav) Shu氏の27作目。 コンピレーションアルバム「おせちLP」収録曲。担当のおせち料理は伊勢海老。 歌詞 (Piaproより転載) アイマイミー 私は見て呉れ高級品で 曖昧に生きるのも億劫ね はぁ 最小限 顔面加工はさり気なく でも ワンツースリー ジャンプは海老バリ豪快に (JUMP) なんだかたかだかビトンや肉では私は釣れないわ まぁちゃんちゃらハナから愛ならないからなんだか儚いな 泣かぬなら 次を探すわ ホトトギス 伊勢海老っちったら止まらない また跳ね回りからの swingin swingin dance 不摂生&ピンチでも構わない この墓場で朝まで踊るのさ 伊勢海老っちったらはしたない エサ食べまくりからの throwing throwing up 歪んだ美意識を道連れに この地響き+Kick ごとフロアに直滑降 Side by side ハニトラかけるはお茶の子さいさい Buy my life さながら稼業は人身売買 ちょっとの金道連れに もう清楚じゃいられない 伊勢海老っちったら情けない また空回りからの sorry sorry bow 報いたい一矢でも夜な夜なRichには犯され未来も見えないね 伊勢海老っちったら逞しい その見てくれだけなら growing growing up 不甲斐ない意志でもひたすらにただ生きときゃ華美に包まれて上等さ おーらいっ タイムリミットはすぐそこに ほら生き急がなくちゃ 廃れて残飯さ コメント すき -- うんち (2023-03-04 18 31 27) 名前 コメント
https://w.atwiki.jp/satoschi/pages/3694.html
ワカ語 |Niger-Congo languages|Atlantic-Congo languages|Volta-Congo languages|North Volta-Congo languages|Adamawa-Ubangi languages| 言語類型 現用言語 使用文字 type living language writing system ISO 639-3 【wav】 言語名別称 alternate names 方言名 dialect names 参考文献 references WEB ISO 639-3 Registration Authority - SIL International the LINGUIST List Ethnologue
https://w.atwiki.jp/niconicokaraokedb/pages/3556.html
MOSAIC.WAV もさいくとつとうえいふ【登録タグ 歌も 歌手】 曲一覧 片道きゃっちぼーる スマイル0円 コメント 名前 コメント
https://w.atwiki.jp/lightsaber/pages/22.html
サウンドボード機能比較 名称 スイッチ LED制御 LED明滅 FoC サブLED On/Off音 クラッシュ音 スイング音 ブラスター偏向/ロックアップ音 音源切替 検知素子 駆動電圧 FX基板 Lat ◯(※1) - - 0 1 1~3 1~3 0 - A 3.6~5V EL基板 Mom -(※2) -(※3) - 0 1 3 3 0 - A 3.6~5V PC V1.5 Lat/Mom ◯ ◯ - 2 1 8 8 1/1 MicroSDカード A 4.5~9V PC V1.6 Lat/Mom ◯ ◯ ◯ 2 1 8 8 1/1 MicroSDカード A 4.5~9V PC V2.0 Lat/Mom ◯ ◯ ◯ 2 1 8 8 1/1 MicroSDカード D 5.5~11V NanoBiscotte Mom -(※5) ◯ - - 1 8 8 - MicroSDカード D 3.4〜5.5V SaberSD Lat/Mom -(※4) - - 0 10/10 20 20 10 SDカード D 6~14V Obsidian XT Mom -(※5) - ◯(※8) 0 1 12 12 0/1 USB接続 D 3.6~12V US2.5(※6) Mom ◯ ◯ - 2 1 1/1 - D 4.5~9.6V CF V5 Lat/Mom ◯ ◯ ◯ 7 4/2 8 8 4/1 MicroSDカード(※7) D 5.5~11V CF V6 Lat/Mom ◯ ◯ ◯ 7 4/2 16 16 4/1 MicroSDカード(※7) D 5.5~11V Igniter Mom ◯ ◯ ◯ 8 99 99 99 99 MicroSDカード(※9) D 6~9V ※1…LEDのVFによっては、抵抗が必要な場合がある ※2…トランジスタを用いることで基板動作とLEDを連動させられる。 ※3…基板動作とLEDを連動させると点灯・消灯時、および衝撃時などにLEDが点滅する。 ※4…基板動作とLEDの連動にはリレーを用いて振動用モーター端子を利用する方法がある。 ※5…LED用のGNDが基板に用意されているので基板動作との連動はわりと簡単。 ※6…SaberForgeのNovaSound基板も同等と思われる ※7…SDカード内の6つのサウンドバンクを切り替えられる。 ※8…XTのみ。通常のObsidianは無し ※9…SDカード内の9つのサウンドバンクを切り替えられる。 名称 FX…フォースFX、EL…エレクトロニックセーバー、CF…Crystal Focus、PC…PetitCrouton US…Ultrasound スイッチ Lat…ラッチング、Mom…モーメンタリ LED制御 抵抗を必要とせず、基板からの電力を制御してLEDを点灯させられる機能 FoC Flash on Clashのこと。マルチカラーLEDを用いて衝撃時に別の色を光らせることが出来る機能 検知素子 スイングや衝撃の検知を行うセンサーの種別。A…アナログ(機械式)、D…デジタル(半導体式)。デジタルの方が精密 各ライトセーバー用音声基盤の機能を纏めると以下のようになる。 サウンドボード名 メーカー 搭載可能音声の数 鍔迫り合い機能 ブラスター偏向音 ブレードフリッカー LEDストリップ 備考 Crystal Focus V6 PlectorLabs 6セット(起動音・収縮音・クラッシュ音×16・スイング音×16・フォースサウンド×2・ブラスター偏向音×4を1セットとして自由に切り替え可能) ○(各サウンドフォントごとに一種類設定) ○(各サウンドフォント毎に4種類設定) ○(各サウンドフォント毎に細かく設定可能) 拡張パーツを用いることで使用可能(現在開発中?) 現行最強のサウンドボード。入手難。CF5との違いはドーターボードであるColorXtenderを用いることでカラーブレンドが行えるのと、Windows用ソフトウェアのRICEと連携してGUIでのセッティングが可能な点など。モーション検知解像度が更に向上している。 Crystal Focus V5 PlectorLabs 6セット(起動音・収縮音・クラッシュ音×8・スイング音×8・フォースサウンド×2・ブラスター偏向音×4を1セットとして自由に切り替え可能) ○(各サウンドフォントごとに一種類設定) ○(各サウンドフォント毎に4種類設定) ○(各サウンドフォント毎に細かく設定可能) 拡張パーツを用いることで使用可能(現在開発中?) 高品質のサウンドボード。超絶入手困難。過去のCFシリーズと違い、音声ファイルにWAVファイルを用いる事で音質の向上を図ると同時に、より音声の自作をし易くした。また、起動音・収束音に至ってはサウンドフォント内に複数のサウンドを入れることによるランダム再生が可能。iSaberモードという音楽やBGM再生が可能な独自のモードを搭載している。ブートサウンドは各サウンドフォント毎に設定。最後に使用していたサウンドフォントのブートサウンドが鳴る。音量調節機能アリ。 Crystal Focus V4.31 PlectorLabs 6セット(起動音・収縮音・クラッシュ音×8・スイング音×8・フォースサウンド×2・ブラスター偏向音×4を1セットとして自由に切り替え可能) ○(各サウンドフォントごとに一種類設定) ○(各サウンドフォント毎に4種類設定) ○(各サウンドフォント毎に細かく設定可能) × 高品質のサウンドボード。非常に入手困難で、高額で取引がおこなわれる。CF搭載と銘打っただけで、セーバーの価値は格段に跳ね上がる。音声ファイルにRAWファイルを用ており、音声の自作にはある程度の技術と専用ソフトが必要。iSaberモードという音楽やBGM再生が可能な独自のモードを搭載している。ブートサウンドは各サウンドフォント毎に設定。最後に使用していたサウンドフォントのブートサウンドが鳴る。 PetitCrouton V2.0 PlectorLabs 1セット(起動音・収束音・クラッシュ音×8・スイング音×8・ブラスター偏向音×1)SDカードによる音声切り替え可 ○ ○ ○ ? 現状、最も普及しているサウンドボードのひとつ。CFのサブセット版といえる。V1.6からFoCが可能となり、V2.0からはRICEと連携してのGUIセッティングが可能となった。 PetitCrouton V1.5-UnLocked PlectorLabs 1セット(起動音・収束音・クラッシュ音×8・スイング音×8・ブラスター偏向音×1)SDカードによる音声切り替え可 ○ ○ ○ × 現状、最も普及しているサウンドボードのひとつ。通称、PC-U。CFの魅力である非常にリアルなサウンドをそのまま移植でき、SDカードによって音声の変更が出来る。CFと違い、一枚のSDに付き、ドライブできるサウンドフォントは1セットまでとなる。先日まではISGメンバーのみに提供されていたが、TCSSでの一般販売が決定した。音量調節機能アリ。 PetitCrouton V1.5-Locked PlectorLabs 1セット(起動音・収束音・クラッシュ音×8・スイング音×8・ブラスター偏向音×1)SDカードによる音声切り替え可 ○ ○ ○ × 現状、最も普及しているサウンドボードのひとつ。CF用のサウンドフォントなら何でもドライブ可能なPC-Uとは違い、LightMeatとDarkMeatという特定の2つのサウンドフォント以外に対応していない。特別な手段で持って手を加える事でロックを解除し、PC-Uへと改造できる。TCSSで販売されていたが、PC-Uの一般販売が決まり、なかった事になるようである。ちなみに、今現在PC-Uとの交換キャンペーンを行っている。音量調節機能アリ。 NanoBiscotte V1 PlectorLabs 1セット(起動音・収束音・クラッシュ音×8・スイング音×8・)SDカードによる音声切り替え可 × ○ ○ × CFの系譜につながり、PetitCroutonよりも機能が制限された廉価版ボード。モーメンタリースイッチを一個だけつなげるため、ロックアップやブラスター偏向効果は出来ない。駆動電圧も低く、FoC機能もない。ただし激安かつ超小型。著名セーバースミス間でのみ流通している同じコンセプトの小型基板、Crystal Shardのサブセット版と言える。 Obsidian USB Ultrasabers 1セット(起動音・収束音・クラッシュ音×12・スイング音×12・ロックアップ音×1)USBケーブルでPCと接続して本体内に音声データを格納 ○ × × × 専用ソフトウェアによってGUIで各種設定が行える。ObsidianXTからはFoC及びロックアップ時のフリッカーをサポート。耐衝撃性を考慮して基板が樹脂でおおわれている。そのため予め必要な配線が行われている。サウンドフォントは専用形式でUltrasabersのサイトから無料で入手できる。出来ることが限られてはいるが導入が簡単なボード。 Igniter1.0 Naigon s Electronic Creations 9セット(起動音・収縮音・クラッシュ音・スイング音・ブラスター偏向音のそれぞれに99音を1セットとして自由に切り替え可能) ○ ○ ○ × 2011年にリリースが開始されたボード。Ledengin製RGBAなどのマルチダイLEDと別売り制御ボードを用いることで、サウンドバンクごとにマルチカラー切替かつFoCのセーバーを作成できる。配線用端子が整理されており、ハンダ付けしやすい。音楽を流しつつスイング音なども出せるマルチミキシングサウンド。CFやPCほどには動作パラメーターの細かな調整ができない模様。スウィングとスラッシュとゆう2種類のWAVEファイルを持ち、スイング動作の強度によって音色を変える。ブラスターブロックモードとゆうスイング動作に連動してブロック音を出す機能がある。2012年5月にリリースされたR2バージョンでは、マルチカラーを利用してブラスターブロックとクラッシュ/ロックアップのLEDカラーを個別に設定できるほか、それらを光らせる度に違う色で発光させる事の出来るパラメータを追加した。こうしたパラメータ変更は専用のエディタを使いmicroSDを経由してPC上で行うことも出来る。 UltraSound2.5 TCSS ○ ○ ○ × NovaSound2.5 SaberForge ○ ○ ○ × SuperONE 2.0-JSG Makoto氏 ○ ○ ○ ×
https://w.atwiki.jp/exkowaris/pages/24.html
サウンド設定BGM選択 BGMマイリスト BGMボリューム SEボリューム BGMリストBGM追加 ゲームBGMに設定/ゲームBGM設定を解除 再生/停止 削除 追加順でソート 名前でソート 選択削除 すべて削除 サウンド設定 サウンド設定では、ゲーム中のBGMや音量等を設定できる。 BGM選択 デフォルトで用意されているBGMからゲーム中に流すBGMを選択する。 デフォルトで用意されているBGMをランダムに流したい場合は「デフォルトランダム」に設定する。 BGMマイリストのBGMを使用したい場合は「マイリストから選択」に設定する。 BGMマイリスト ゲーム中に流すBGMのリストを開く。 BGMボリューム BGMの再生音量を設定する。 10%単位で0~100%に設定することができる。 SEボリューム SEの再生音量を設定する。 10%単位で0~100%に設定することができる。 BGMリスト BGMリストは自分の持っているサウンドファイルをゲーム中のBGMとして設定できる。 サイズの大きいファイルを取り込むと動作が重くなる場合があるので注意。 決定キーで基本メニュー、オプションキーでオプションメニューを開く。 BGM追加 BGMに設定するサウンドファイルを選択する。 サウンドファイルはMP3, WAV, OGGに対応している。 ファイル選択の画面でドラッグするか、ShiftキーやCtrlキーを押しながらクリックすれば、ファイルをまとめて選択できる。 ゲームBGMに設定/ゲームBGM設定を解除 現在カーソルが当たっているBGMをゲーム中のBGMに設定する。 設定したBGMにはチェックマークが表示される。 設定を適用するにはサウンド設定の「BGM選択」で「マイリストから選択」に設定する必要がある。 現在カーソルが当たっているBGMが設定済みの場合は「ゲームBGM設定を解除」になり、設定を解除することができる。 再生/停止 現在カーソルが当たっているBGMを再生する。 現在カーソルが当たっているBGMが再生中であれば「停止」になり、BGMを停止することができる。 削除 現在カーソルが当たっているBGMを削除する。 追加順でソート BGMを追加した順にソートする。 名前でソート BGMを名前順にソートする。 選択削除 選択したBGMを一括削除する。 すべて削除 取り込んだBGMをすべて削除する。
https://w.atwiki.jp/anime_wiki/pages/6971.html
■百合星人ナオコサン 音楽 ■がっこうぐらし! 音楽 ■関連タイトル MOSAIC.WAV/SPACE AKIBA-POP
https://w.atwiki.jp/opengl/pages/218.html
DirectSound で .wav を再生します。 これまでと同様にウインドウハンドルを取得すれば freeglut と DirectSound を組み合わせて使用できます。 #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #pragma comment(lib, winmm.lib ) #pragma comment(lib, dsound.lib ) #include GL/freeglut/freeglut.h #include mmsystem.h #include dsound.h #include stdio.h #define SAFE_RELEASE(p) {if(p){(p)- Release();(p)=NULL;}}//安全に解放する #define FileName L test.wav #define WIDTH 320 #define HEIGHT 240 HWND hWnd2=NULL; //ウィンドウハンドル HINSTANCE hinstance; //インスタンスのハンドル LPDIRECTSOUND8 lpDS = NULL; // DirectSound8 LPDIRECTSOUNDBUFFER lpPrimary = NULL; // プライマリサウンドバッファ LPDIRECTSOUNDBUFFER lpSecondary = NULL; // セカンダリサウンドバッファ //ウィンドウを検索してHWNDとHINSTANCEを得る BOOL CALLBACK enumWindowsProc(HWND hWnd,LPARAM lParam) { HANDLE hModule=(HANDLE)GetWindowLong(hWnd,GWL_HINSTANCE); if(GetModuleHandle(NULL)==hModule){ wchar_t ClassName[256]; GetClassNameW(hWnd,ClassName,sizeof(ClassName)/sizeof(ClassName[0])); if(wcsncmp(ClassName,L FREEGLUT ,wcslen(ClassName))==0){ hWnd2=hWnd; hinstance=(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE); return FALSE; } } return TRUE; } // DirectSound初期化 bool InitDS( void ){ HRESULT ret; // DirectSound8を作成 ret = DirectSoundCreate8( NULL, lpDS,NULL ); if( FAILED(ret) ) { printf( サウンドオブジェクト作成失敗\n ); return false; } // 強調モード ret = lpDS- SetCooperativeLevel( hWnd2,DSSCL_EXCLUSIVE|DSSCL_PRIORITY ); if( FAILED(ret) ) { printf( 強調レベル設定失敗\n ); return false; } return true; } // プライマリサウンドバッファの作成 bool CreatePrimaryBuffer( void ){ HRESULT ret; WAVEFORMATEX wf; // プライマリサウンドバッファの作成 DSBUFFERDESC dsdesc; ZeroMemory( dsdesc,sizeof(DSBUFFERDESC) ); dsdesc.dwSize = sizeof( DSBUFFERDESC ); dsdesc.dwFlags = DSBCAPS_PRIMARYBUFFER; dsdesc.dwBufferBytes = 0; dsdesc.lpwfxFormat = NULL; ret = lpDS- CreateSoundBuffer( dsdesc, lpPrimary,NULL ); if( FAILED(ret) ) { printf( プライマリサウンドバッファ作成失敗\n ); return false; } // プライマリバッファのステータスを決定 wf.cbSize = sizeof( WAVEFORMATEX ); wf.wFormatTag = WAVE_FORMAT_PCM; wf.nChannels = 2; wf.nSamplesPerSec = 44100; wf.wBitsPerSample = 16; wf.nBlockAlign = wf.nChannels * wf.wBitsPerSample / 8; wf.nAvgBytesPerSec = wf.nSamplesPerSec * wf.nBlockAlign; ret = lpPrimary- SetFormat( wf ); if( FAILED(ret) ) { printf( プライマリバッファのステータス失敗\n ); return false; } return true; } // サウンドバッファの作成 BOOL CreateSoundBuffer( LPDIRECTSOUNDBUFFER *dsb,LPWSTR file ) { HRESULT ret; MMCKINFO mSrcWaveFile; MMCKINFO mSrcWaveFmt; MMCKINFO mSrcWaveData; LPWAVEFORMATEX wf; // WAVファイルをロード HMMIO hSrc; hSrc = mmioOpen( file,NULL,MMIO_ALLOCBUF|MMIO_READ|MMIO_COMPAT ); if( !hSrc ) { printf( WAVファイルロードエラー\n ); return FALSE; } // WAVE チャンクチェック ZeroMemory( mSrcWaveFile,sizeof(mSrcWaveFile) ); ret = mmioDescend( hSrc, mSrcWaveFile,NULL,MMIO_FINDRIFF ); if( mSrcWaveFile.fccType!=mmioFOURCC( W , A , V , E ) ) { printf( WAVEチャンクチェックエラー\n ); mmioClose( hSrc,0 ); return FALSE; } // fmt チャンクチェック ZeroMemory( mSrcWaveFmt,sizeof(mSrcWaveFmt) ); ret = mmioDescend( hSrc, mSrcWaveFmt, mSrcWaveFile,MMIO_FINDCHUNK ); if( mSrcWaveFmt.ckid!=mmioFOURCC( f , m , t , ) ) { printf( fmt チャンクチェックエラー\n ); mmioClose( hSrc,0 ); return FALSE; } // ヘッダサイズの計算 int iSrcHeaderSize = mSrcWaveFmt.cksize; if( iSrcHeaderSize sizeof(WAVEFORMATEX) ) iSrcHeaderSize=sizeof(WAVEFORMATEX); // ヘッダメモリ確保 wf = (LPWAVEFORMATEX)malloc( iSrcHeaderSize ); if( !wf ) { printf( メモリ確保エラー\n ); mmioClose( hSrc,0 ); return FALSE; } ZeroMemory( wf,iSrcHeaderSize ); // WAVEフォーマットのロード ret = mmioRead( hSrc,(char*)wf,mSrcWaveFmt.cksize ); if( FAILED(ret) ) { printf( WAVEフォーマットロードエラー\n ); free( wf ); mmioClose( hSrc,0 ); return FALSE; } printf( チャンネル数 = %d\n ,wf- nChannels ); printf( サンプリングレート = %d\n ,wf- nSamplesPerSec ); printf( ビットレート = %d\n ,wf- wBitsPerSample ); // fmtチャンクに戻る mmioAscend( hSrc, mSrcWaveFmt,0 ); // dataチャンクを探す while(1) { // 検索 ret = mmioDescend( hSrc, mSrcWaveData, mSrcWaveFile,0 ); if( FAILED(ret) ) { printf( dataチャンクが見つからない\n ); free( wf ); mmioClose( hSrc,0 ); return FALSE; } if( mSrcWaveData.ckid==mmioStringToFOURCC(L data ,0) ) break; // 次のチャンクへ ret = mmioAscend( hSrc, mSrcWaveData,0 ); } printf( データサイズ = %d\n ,mSrcWaveData.cksize ); // サウンドバッファの作成 DSBUFFERDESC dsdesc; ZeroMemory( dsdesc,sizeof(DSBUFFERDESC) ); dsdesc.dwSize = sizeof( DSBUFFERDESC ); dsdesc.dwFlags = DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_STATIC | DSBCAPS_LOCDEFER; dsdesc.dwBufferBytes = mSrcWaveData.cksize; dsdesc.lpwfxFormat = wf; dsdesc.guid3DAlgorithm = DS3DALG_DEFAULT; ret = lpDS- CreateSoundBuffer( dsdesc,dsb,NULL ); if( FAILED(ret) ) { printf( サウンドバッファの作成エラー\n ); free( wf ); mmioClose( hSrc,0 ); return FALSE; } // ロック開始 LPVOID pMem1,pMem2; DWORD dwSize1,dwSize2; ret = (*dsb)- Lock( 0,mSrcWaveData.cksize, pMem1, dwSize1, pMem2, dwSize2,0 ); if( FAILED(ret) ) { printf( ロック失敗\n ); free( wf ); mmioClose( hSrc,0 ); return FALSE; } // データ書き込み mmioRead( hSrc,(char*)pMem1,dwSize1 ); mmioRead( hSrc,(char*)pMem2,dwSize2 ); // ロック解除 (*dsb)- Unlock( pMem1,dwSize1,pMem2,dwSize2 ); // ヘッダ用メモリを開放 free( wf ); // WAVを閉じる mmioClose( hSrc,0 ); return TRUE; } void Exit() { SAFE_RELEASE(lpSecondary); SAFE_RELEASE(lpPrimary); SAFE_RELEASE(lpDS); } void display(void) { glClearColor(1.0, 1.0, 1.0, 1.0); glClear(GL_COLOR_BUFFER_BIT); glutSwapBuffers(); } void init() { EnumWindows(enumWindowsProc,0); // DirectSound if(!InitDS())Exit(); // プライマリサウンドバッファ if(!CreatePrimaryBuffer())Exit(); // サウンドバッファ if(!CreateSoundBuffer( lpSecondary,FileName))Exit(); // 起動時の再生 lpSecondary- Play( 0,0,0 ); } int main(int argc, char *argv[]) { glutInitWindowPosition(100, 100); glutInitWindowSize(WIDTH, HEIGHT); glutInitDisplayMode(GLUT_RGBA); glutInit( argc, argv); glutCreateWindow( Hellow DirectSound World !! ); glutDisplayFunc(display); init(); glutMainLoop(); Exit(); return 0; }
https://w.atwiki.jp/wiki3_wwa/pages/34.html
ゲーム中、任意のタイミングでサウンドを鳴らすことができます。 使用できる拡張子は「.au」のみです。 wavファイルをauに変換するソフトは支援ツール・ソフトを参照 作成ツールの仕様上、サウンドファイルを番号でしか指定できませんので、ファイル名は1~99までの半角数字にしておいてください。 Ver3.10からはBGMを流せるようになりましたが、60秒ほどの音楽データでもファイルサイズが400キロバイトと大きくなるので、音楽は30~60秒ぐらいのものを2~4曲程度にしておくことをお勧めします。 サウンドライブラリは以下のようになっております。 システム予約 1:ボタンクリック音 3:攻撃時 将来、拡張する可能性があるので、ここにはサウンドを入れないほうがいいでしょう。 ユーザー定義 10:ハロー 11:敵消滅 12:歩行音 13:扉 14:レジ打ち 15:回復 16:クリック1 17:クリック2 18:打撃音 19:摩擦音 20~69は各自で追加してください。 背景音楽 70:草原 71:洞窟 72:ボスキャラ 73~98は各自で追加してください。 99:停止
https://w.atwiki.jp/opengl/pages/225.html
WAVファイルの一部分を抜き出します。 #include stdio.h #include string.h #define FileName Warp1_ste.wav //適当な曲を探して下さい。 // defines #define STR_RIFF RIFF #define STR_WAVE WAVE #define STR_fmt fmt #define STR_data data #define WAV_MONAURAL 1 #define WAV_STEREO 2 #pragma pack(push,1) struct WaveFileHeader{ char Riff[4]; // RIFFヘッダ unsigned int FileSize; // ファイルサイズ - 8 char Wave[4]; // WAVEヘッダ }; struct TagChank{ unsigned char Fmt[4]; // fmt チャンク unsigned int FmtSize; // fmt チャンクのバイト数 }; struct WaveFormat{ unsigned short FormatTag; // フォーマットID unsigned short Channels; // チャンネル数 unsigned int SamplingRate; // サンプリングレート unsigned int BytesPerSec; // データ速度 (Byte/sec) unsigned short BlockAlign; // ブロックサイズ unsigned short BitsPerSample; // サンプルあたりのビット数 }; struct tagWrSWaveFileHeader { unsigned char hdrRiff[4]; // RIFF unsigned int sizeOfFile; // ファイルサイズ - 8 unsigned char hdrWave[4]; // WAVE unsigned char hdrFmt[4]; // fmt unsigned int sizeOfFmt; // sizeof( PCMWAVEFORMAT ) struct { unsigned short formatTag; // WAVE_FORMAT_PCM unsigned short channels; // number of channels unsigned int samplesPerSec; // sampling rate unsigned int bytesPerSec; // samplesPerSec * channels * (bitsPerSample/8) unsigned short blockAlign; // block align unsigned short bitsPerSample; // bits per sampling } stWaveFormat; // PCMWAVEFORMAT unsigned char hdrData[4]; // data unsigned int sizeOfData; // Waveデーターサイズ }; #pragma pack(pop) WaveFileHeader waveFileHeader; WaveFormat waveFmtPcm; TagChank chank; /*-------------------------------------------------------------------------- * cut */ int cut(FILE *fpIn, FILE *fpOut,int start,int end) { unsigned int i; char In[16]; for (i = 0; i (end-start+1)*waveFmtPcm.BytesPerSec/waveFmtPcm.BitsPerSample/8*waveFmtPcm.Channels ; i++) { if(fread( In, waveFmtPcm.BitsPerSample/8*waveFmtPcm.Channels , 1, fpIn) != 1) return -1; if(fwrite(In, waveFmtPcm.BitsPerSample/8*waveFmtPcm.Channels, 1, fpOut) != 1) return -1; } return 0; } // wav ヘッダ 書き込み long wavHeaderWrite(FILE *fp, long sizeOfData, unsigned short ch, unsigned long sampRate, unsigned short sampBits) { unsigned short bytes; tagWrSWaveFileHeader wrWavHdr; strncpy((char *)wrWavHdr.hdrRiff,STR_RIFF,sizeof wrWavHdr.hdrRiff); // RIFF ヘッダ wrWavHdr.sizeOfFile=sizeOfData + sizeof(wrWavHdr) - 8; // ファイルサイズ strncpy((char *)wrWavHdr.hdrWave,STR_WAVE,sizeof wrWavHdr.hdrWave); // WAVE ヘッダ strncpy((char *)wrWavHdr.hdrFmt,STR_fmt,sizeof wrWavHdr.hdrFmt); // fmt チャンク wrWavHdr.sizeOfFmt= sizeof wrWavHdr.stWaveFormat; // fmt チャンク,無圧縮wav は 16 wrWavHdr.stWaveFormat.formatTag=1; // 無圧縮PCM = 1 wrWavHdr.stWaveFormat.channels=ch; // ch (mono=1, stereo=2) wrWavHdr.stWaveFormat.samplesPerSec=sampRate; // sampleng rate(Hz) bytes = sampBits / 8; // bytes/sec wrWavHdr.stWaveFormat.bytesPerSec = bytes * ch * sampRate; wrWavHdr.stWaveFormat.blockAlign=bytes * ch; // byte/サンプル*チャンネル wrWavHdr.stWaveFormat.bitsPerSample=sampBits; // bit/サンプル strncpy((char *)wrWavHdr.hdrData,STR_data,sizeof wrWavHdr.hdrData); // dataチャンク wrWavHdr.sizeOfData=sizeOfData; // データ長 (byte) fwrite( wrWavHdr, sizeof wrWavHdr, 1, fp); // write header return ftell(fp); } // wav データ書き込み int wavDataWrite(FILE *fpIn, FILE *fpOut, long posOfData,long sizeOfData, short bytesPerSingleCh,int start,int end) { fseek(fpIn, posOfData, SEEK_SET); //元ファイルのデータ開始部分へ return cut(fpIn, fpOut,start,end); } // ファイル内容書き出し int wavWrite(char *inFile, char *outFile, unsigned long sampRate, unsigned short sampBits, long posOfData, long sizeOfData,int start,int end) { unsigned short bytesPerSingleCh; FILE *fpIn, *fpOut; if((fpOut = fopen(outFile, wb )) == NULL) { fprintf(stderr, %s をオープンできません.\n , outFile); return -1; } bytesPerSingleCh = sampBits / 8; // wav ヘッダ書き込み if(wavHeaderWrite(fpOut, sizeOfData, WAV_STEREO, sampRate, sampBits) != 44) { fprintf(stderr, ヘッダを書き込めません %s\n , outFile); fclose(fpOut); return -1; } if((fpIn = fopen(inFile, rb )) == NULL) { fprintf(stderr, %s をオープンできません.\n , inFile); fclose(fpOut); return -1; } // wav データ書き込み if(wavDataWrite(fpIn, fpOut, posOfData, sizeOfData, bytesPerSingleCh,start,end)!=0) { fprintf(stderr, wavDataWriteでエラー発生.\n ); fclose(fpIn); fclose(fpOut); return -1; } fclose(fpIn); fclose(fpOut); return 0; } bool readfmtChunk(FILE *fp, WaveFormat* waveFmtPcm){ if(fread(waveFmtPcm, sizeof(WaveFormat), 1, fp) != 1)return false; printf( データ形式 %u (1 = PCM)\n , waveFmtPcm- FormatTag); printf( チャンネル数 %u\n , waveFmtPcm- Channels); printf( サンプリング周波数 %lu [Hz]\n , waveFmtPcm- SamplingRate); printf( バイト数 / 秒 %lu [bytes/sec]\n , waveFmtPcm- BytesPerSec); printf( バイト数×チャンネル数 %u [bytes]\n , waveFmtPcm- BlockAlign); printf( ビット数 / サンプル %u [bits/sample]\n , waveFmtPcm- BitsPerSample); if(waveFmtPcm- Channels != 2) { printf( \nこのプログラムはステレオのファイルを対象とします.\n ); printf( このwavファイルのチャンネル数は %d です.\n , waveFmtPcm- Channels); return false; } if(waveFmtPcm- FormatTag != 1) { printf( \nこのプログラムは無圧縮PCMのみを対象とします.\n ); printf( このwavファイルの形式は %04X です.\n , waveFmtPcm- FormatTag); return false; } if(waveFmtPcm- BitsPerSample != 8 waveFmtPcm- BitsPerSample != 16) { printf( \nこのプログラムは8/16ビットサンプリングされたものを対象とします\n ); printf( このwavファイルの bits/secは %d です.\n , waveFmtPcm- BitsPerSample); return false; } return true; } bool WaveHeaderRead(char *wavefile){ long fPos, len; FILE *fp; errno_t err; if (err=fopen_s( fp,wavefile, rb ) !=0){ printf( %sをオープンできません\n , wavefile); return false; } printf( \n%s \n , wavefile); // ヘッダ情報 if (fread( waveFileHeader, sizeof waveFileHeader, 1, fp) != 1){ printf( %ld で読み込み失敗\n , ftell(fp)); fclose(fp); return false; } if(strncmp( waveFileHeader.Riff, RIFF , 4) != 0){ printf( RIFF フォーマットでない\n ); fclose(fp); return false; } // WAVE ヘッダ情報 if (memcmp(waveFileHeader.Wave, WAVE , 4) != 0){ printf( WAVE が無い\n ); fclose(fp); return false; } // 4Byte これ以降のバイト数 = (ファイルサイズ - 8)(Byte) len = waveFileHeader.FileSize; // チャンク情報 while (fread( chank, sizeof chank, 1, fp) == 1){ if(memcmp( chank.Fmt, fmt , sizeof chank.Fmt) == 0){ len=chank.FmtSize; printf( \ fmt \ の長さ %ld [bytes]\n\n , len); fPos = ftell(fp); if(! readfmtChunk( fp, waveFmtPcm))return false; fseek(fp, fPos + len, SEEK_SET); }else if(memcmp(chank.Fmt, data , 4) == 0){ len = chank.FmtSize; printf( \n\ data\ の長さ %ld [bytes]\n , len); fPos = ftell(fp); fseek(fp, len + fPos - 4, SEEK_SET); break; }else{ len=chank.FmtSize; printf( \ %c%c%c%c\ の長さ %ld [bytes]\n\n , chank.Fmt[0],chank.Fmt[1], chank.Fmt[2],chank.Fmt[3], len); fPos = ftell(fp); fseek(fp, fPos + len, SEEK_SET); } } fclose(fp); return true; } void main(int argc, char *argv[]){ WaveHeaderRead(FileName); if( waveFmtPcm.BitsPerSample != 16 ) { fprintf(stderr, サンプリングビット数は16ビットでなければなりません\n ); return; } //wavWrite(char *inFile, char *outFile, unsigned long sampRate, unsigned short sampBits, long posOfData, long sizeOfData,int start,int end) if( wavWrite(FileName, split.wav , waveFmtPcm.SamplingRate, waveFmtPcm.BitsPerSample, 0, waveFileHeader.FileSize,3,14)!=0) return; getchar(); }
https://w.atwiki.jp/hmiku/pages/55754.html
【検索用 Seasonal wav.01 登録タグ AdomioriCD CD CDS】 + 目次 目次 CD紹介 曲目 コメント 前作 本作 次作 Another Vision Seasonal wav.01 VISION2 Adomiori 発売:2019年8月12日 価格:¥400(税込) 流通:即売 CD紹介 CD名:『Seasonal wav.01』 音街ウナ×ボカロエレクトロで夏を感じられるようなEP 曲目 メロメロンソーダ Promise コメント 名前 コメント